Estoy creando una API con AWS Amplify y AppSync GraphQL. Trabajo en una aplicación similar a Tinder.
Me gustaría buscar el mismo valor en dos campos para una Consulta. He probado muchas soluciones, pero ninguna parece funcionar.
Tengo un usuario @Model que está conectado a muchos Match a través @connection
type User @model @auth(rules: [{allow: public}]) { id: ID! email: String! password: String age: String! name: String! description: String pickupLine: String orientation: Orientation! gender: Gender! animal: Animal! profilePicture: String! pictures: [String]! location: Location numberOfSparksAvailable: Int! matchs: [Match] @connection(keyName: "byUser", fields: ["id"]) sparks: [Spark] @connection(keyName: "byUser", fields: ["id"]) } Y tengo un Match @Model que tiene un campo senderId y un campo receiverId
type Match @model @auth(rules: [{allow: public}]) @key(name: "byUser", fields: ["receiverId", "senderId"], queryField: "matchByUser") @key(name: "bySender", fields: ["senderId"], queryField: "sparkBySender") @key(name: "byReceiver", fields: ["receiverId"], queryField: "sparkByReceiver") { id: ID! status: MatchStatus! matchType: MatchType sender: User! @connection(fields: ["senderId"]) senderId: ID! receiver: User! @connection(fields: ["receiverId"]) receiverId: ID! answerFrom: Answer! answerTo: Answer chatRoomId: ID! chatRoom: ChatRoom! @connection(fields: ["chatRoomId"]) deletedAt: AWSDate } Y no encuentro ninguna forma de hacer que bySender @key busque tanto el senderId como el receiverId . Quiero poder tener todas las Matches para un User , ya sea el receptor o el remitente.
Pero cuando hago una Query a ListUsers , solo obtengo las Matches donde el User es un receptor.
También intenté hacer múltiples @connection pero Graphql-transformer no lo permite.
También traté de crear un ID de usersId: [ID!]! como eso
type Match @model { ... usersId: [ID!]! users: [User!]! @connection(fields: ["usersId"]) ... } Pero tampoco está permitido por graphql-transformer ..
¿Alguien tiene una solución para obtener todas las coincidencias para un User ?
Muchas gracias !